
using System;
using System.Collections.Generic;
using NovaSystem.EntidadesNegocio;
using NovaSystem.AccesoDatos;

namespace NovaSystem.ComponentesNegocio
{
	public class Negocioproveedor
	{
		#region Metodos Privados
		
		private static Negocioproveedor instancia = null;
		
		#endregion
		
		#region constructores
		
		public Negocioproveedor()
		{
			
		}
		
		#endregion
		
		#region Singleton
		public static Negocioproveedor Instancia
		{
			get 	
			{
				if (instancia == null)
				{
					instancia = new Negocioproveedor();
				}
				return instancia;
			}
		}
		#endregion
		
		#region Metodos Publicos
        public List<proveedor> Buscar(proveedor dto)
        {
            List<proveedor> lista = new List<proveedor>();
            try
            {
                lista = DAOFabrica.CrearDAO().CrearproveedorDAO().Buscar(dto);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return lista;
        }

		public List<proveedor> Listar()
		{
			List<proveedor> lista = new List<proveedor>();
			try
			{
				lista = DAOFabrica.CrearDAO().CrearproveedorDAO().Listar();
			}
			catch(Exception ex)
			{
				throw new Exception(ex.Message);
			}
			return lista;
		}
		
		public string Insertar(proveedor dto)
		{
			string salida="";
			try
			{
				salida = DAOFabrica.CrearDAO().CrearproveedorDAO().Insertar(dto);
			}
			catch(Exception ex)
			{
				throw new Exception(ex.Message);
			}
			return salida;
		}
		
		public void Eliminar(proveedor dto)
		{
			try
			{
				DAOFabrica.CrearDAO().CrearproveedorDAO().Eliminar(dto);			
			}
			catch(Exception ex)
			{
				throw new Exception(ex.Message);
			}
		}
		#endregion
		
	}
}
